Skip to content

[FEAT] 회차 기록 및 휴강 시트·완료 화면 구현 - #9

Merged
sumin0423 merged 4 commits into
developfrom
feat/session-record
Nov 12, 2026
Merged

sumin0423 merged 4 commits into
developfrom
feat/session-record

Conversation

@sumin0423

Copy link
Copy Markdown
Contributor

📖 개요

T-10 SVG 시안에 맞춰 회차 기록, 휴강 사유 선택 시트, 휴강 완료 및 기록 완료 화면을 구현했습니다. 홈·과외 만들기 등 다른 담당 화면은 수정하지 않았으며, 중간 화면 없이 확인할 수 있는 개발 전용 진입 경로를 추가했습니다.

선행 PR: #8. 현재 브랜치는 #8의 약관·프로필 구현을 기반으로 합니다. #8이 아직 병합되지 않아 해당 변경도 비교에 포함됩니다. #8을 먼저 병합한 뒤 이 PR의 변경 범위를 확인해 주세요.

✅ 변경 사항

회차 기록 및 기록 완료

  • 교재별 진도 선택·직접 입력, 교재 추가·등록·삭제
  • 이해도·지난 숙제 수행 필수 선택, 다음 숙제·관찰 메모 입력
  • 필수 항목 미선택 및 교재 등록 중 저장 비활성화
  • 저장 중 조작·중복 제출 차단, 실패 시 입력 유지 및 다시 저장
  • 저장 성공 후 기록 완료 v4 화면 표시
  • 학생·회차·숙제와 저장 결과에 따른 정산 상태 표시
  • 숙제가 없으면 학생용 공유 버튼, 정산 준비 전에는 리포트 버튼 비활성화

휴강 시트

  • 네 가지 휴강 사유 단일 선택 및 사유 미선택 시 완료 비활성화
  • 배경 터치·뒤로 가기로 닫기, 저장 중 닫기 차단
  • 실패 시 선택 유지 및 재시도

휴강 완료

  • 저장 결과에 따른 사유·인정 회차 표시
  • 학부모 수신 동의 여부에 따라 보강 조율 버튼 노출 구분
  • 제공된 SVG에서 로고·완료 일러스트 에셋 추출

공통 ActionButton·Chip·TextInput·Loading과 디자인 토큰을 재사용했습니다. 균등 폭 선택 그룹과 유동 폭 진도 막대는 화면 요구에 맞게 별도로 구성했습니다.

🧪 검증

  • 타입·린트·포맷 검사 및 웹 배포 빌드 통과
  • 브라우저에서 필수 선택 검증, 직접 입력, 교재 등록, 저장 실패 후 재시도 확인
  • 저장 중 차단, 휴강 사유·인정 정책·수신 동의에 따른 결과 확인
  • 회차 저장 → 기록 완료 전환, 공유·정산 미연동 안내 및 홈 이동 확인
  • 320px 화면에서 가로 넘침 없음 확인
  • 회차 기록·휴강 구현 단계에서 iOS·Android 번들 생성 성공
  • 이후 추가한 기록 완료 v4는 타입·린트·웹 빌드·브라우저로 검증했으며, 실제 기기·시뮬레이터 실행은 미검증

🖼️ 확인 경로

개발 서버에서 아래 경로로 직접 확인할 수 있습니다.

화면·상태 경로
회차 기록 /dev/session-record
필수 항목 미선택 /dev/session-record?variant=blank
지난 진도·교재 없음 /dev/session-record?variant=empty
2회차 /dev/session-record?variant=later
직접 입력 /dev/session-record?variant=direct
저장 중 / 첫 저장 실패 /dev/session-record?scenario=loading / ?scenario=error
휴강 시트 /dev/session-cancellation
휴강 인정 정책 예시 /dev/session-cancellation?policy=count
휴강 완료 /dev/session-complete
수신 동의 전 /dev/session-complete?consent=no
기록 완료 v4 /dev/session-record-complete

🔗 관련 Issue

연결된 이슈 없음. 선행 PR: #8.

📂 영향 범위

  • src/features/session-record: 화면·입력 모델·비동기 저장 경계
  • src/app/dev/session-*: 개발 전용 확인 경로
  • assets/images: 완료 화면 에셋
  • docs/session-record.md: 구현 범위 및 연동 지점

파트별 커밋

  • bff10bc: 휴강 완료 화면 및 공통 모델·스타일
  • 117515d: 휴강 사유 선택 시트 및 저장 상태
  • f37a24a: 회차 기록·기록 완료 화면 및 확인 경로

🙋 리뷰 요청 사항

  • 첫 수업·2회차·지난 진도 없음·직접 입력의 화면 및 필수 입력 처리
  • 저장 실패 시 입력 유지와 중복 요청 차단
  • 휴강 시트·완료 화면의 정책 및 수신 동의 분기
  • 시안 일치 여부와 추후 API 연결을 위한 컴포넌트 경계

⚠️ 주의 사항

  • API는 미확정이며 실제 저장·학부모 알림·카카오 공유·보강 조율·정산 리포트 생성은 연결하지 않았습니다.
  • 미리보기의 학생·날짜·교재·저장 지연·오류는 확인용 데이터입니다. 화면 문구의 카드·알림·리포트 생성은 실제 서버 생성 완료를 의미하지 않습니다.
  • 회차 인정 예시는 시안 문구에 따라 학생 당일 취소 + 인정 정책인 경우에만 증가합니다. 실제 정책은 백엔드 확인 후 연결해야 합니다.
  • 서비스 연결 시 저장 콜백과 백엔드의 누적 회차·정산 준비 결과를 전달해야 합니다.
  • 개발 전용 경로는 production에서 홈으로 이동합니다. 실제 홈·과외 화면에서의 진입은 별도 연결이 필요합니다.

@sumin0423 sumin0423 self-assigned this Nov 11, 2026
@sumin0423
sumin0423 merged commit b5d94a0 into develop Nov 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant